import createG2 from 'g2-react';
import { Stat } from 'g2';
import React from 'react';
import ReactDOM from 'react-dom';
import Logger from '../../../../utils/Logger';

const logger = Logger.getLogger('PieChart');
 
 const Chart = createG2(chart => { //饼图
      // 重要：绘制饼图时，必须声明 theta 坐标系
      chart.coord('theta', {
        radius: 0.6 // 设置饼图的大小 
      });
      chart.legend('name', { //图例位置
        position: 'bottom',
        marker: 'square',// 设置图例标记
      });
      
      chart.tooltip({
        title: "饼图",
        map: {
          value: 'value'
        }
      });
      chart.intervalStack()
        .position(Stat.summary.percent('value'))
        .color('name')
        .label('name*..percent',function(name, percent){
          percent = (percent * 100).toFixed(2) + '%';
          return name + ' ' + percent;
        });
      chart.render();
      // 设置默认选中
      var geom = chart.getGeoms()[0]; // 获取所有的图形
      var items = geom.getData(); // 获取图形对应的数据
      geom.setSelected(items[1]); // 设置选中      
  });
  const data=[];
/**
 * 饼图组件
 */
class PieChart extends React.Component {

  constructor(props) {
    super(props);
    this.initPieData();
  }

  state = {
      //Piedata:Piedata,
      width: 500,
      height: 450,
      plotCfg: {
        margin: [50, 100, 50, 120],
      },
      forceFit: true //自适应
  };

  // 在react router中切换时, 组件不会重新mount, 只有props会变化
  componentWillReceiveProps = (nextProps) => {

  }

  /**
   *将原始数据进行处理，筛选符合条件的数据 
   */
  initPieData(){
    if(!this.props.totalData.closeDay){//没有闭馆
         for(var i=0;i<this.props.totalData.subStatistic.length;i++){
          var tmp={};
          tmp.name=this.props.totalData.subStatistic[i].title;
          tmp.value=this.props.totalData.subStatistic[i].proportion;
          data.push(tmp);
        }
    }
  }
  
  render() {
    return (
        <Chart 
              data={data}
              width={this.state.width}
              height={this.state.height}
              forceFit={this.state.forceFit}
        />
    );
  }

}
export default PieChart;